iT邦幫忙

2023 iThome 鐵人賽

DAY 21
1

昨天分享的 U-Net 特色就是它的 Upsampling 和 Skip Connection 結構,可以為影像分割任務帶來顯著的性能提升,使得模型能夠在處理像素級別的細節時保持穩健性,但同時 U-Net 也有存在一些限制


U-Net 的局限性

  1. U-Net 網路架構中的層數(深度)難以確定,換句話說,我們無法事先知道哪個深度最適合我們的任務,這導致必須使用不同深度的 U-Net 進行訓練,然後用集成學習的方式進行推論(inference),但這樣的做法顯然會耗費大量資源和時間
  2. U-Net 的 Skip Connection 結構限制了特徵圖的融合方式,它只能串接來自相同層級的特徵圖,這導致一個問題,就是當我們將編碼器中較淺層的特徵和解碼器中較深層的特徵進行結合的時候,可能會出現上下文資訊不足,出現語意上的斷層問題(semantic gap)

那今天的主角 UNet++ 就有對上述這些限制做處理

UNet++

從名稱來看就可以知道是 U-Net 的升級版,它是由不同深度的 U-Net 組成的,這些 U-Net 子網路會部分共享一個編碼器,但每個 U-Net 子網路會有自己的解碼器,為了要能讓這些 U-Net 子網路同時訓練,UNet++ 使用了深度監督,也就是會監督每一層的輸出
此外,為了確保不同深度的 U-Net 之間的資訊能夠流通,UNet++ 對 Skip Connection 做了微調,它讓 Skip Connection 不僅使用於編碼器和解碼器之間,還使用於不同解碼器之間,這樣,對於某個解碼器單元來說,只要它不是位於最淺的那個 U-Net,它都可以接收來自下一層的同一個解碼器單元、同一層中其他比它更淺的 U-Net 的解碼器單元,以及同一層編碼器單元的資訊

結構圖

https://ithelp.ithome.com.tw/upload/images/20231006/20155915oYWsAgc5Sj.png
(a) UNet++ 由一個編碼器和解碼器組成,它們會連接一系列巢狀的 dense convolutional blocks

  • 黑色表示原始的 U-Net 結構
  • 綠色和藍色表示 skip pathways 上的 dense convolution blocks
  • 紅色表示深度監督

(b) UNet++ 的第一個 skip pathway 的詳細分析
(c) 如果使用深度監督進行訓練,就可以在推論時對 UNet++ 進行修剪(pruning),以減少模型的大小


U-Net vs. UNet++

UNet++ 跟 U-net 相比有以下不同之處:

  • UNet++ 引入了深度監督,使得 U-Net 子網路能夠各自反向傳播梯度,也使模型可以進行剪枝操作,讓模型更具靈活性
  • UNet++ 的 Skip Connection 可以獲得不同尺度的特徵,改善了 U-Net 只能將特徵保留在單一層級的問題,使得特徵圖在融合時的尺度差異變小,有助於更好地捕捉上下文信息

參考

UNet++: A Nested U-Net Architecture for Medical Image Segmentation


上一篇
模型架構 D1 - U-Net
下一篇
模型架構 D3 - Attention U-Net
系列文
初次抓舉AI的世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言